Edge servo for disk drive head positioner

ABSTRACT

A method for determining the position of a data transducer head within one data track of a rotating data storage disk within a disk drive includes the steps of: 
     providing at least one prerecorded servo sector within the data track, the servo sector including first occurring servo burst having one longitudinal burst edge located substantially congruent with a centerline of the one track, and having another longitudinal burst edge located substantially congruent with a centerline of a second track adjacent to the one track, and second servo burst having longitudinal burst edges substantially congruent with the track boundaries of the one track. 
     detecting the presence of the sector as it passes by the data transducer head, 
     sampling with the data transducer head and holding peak amplitude of the first servo burst, 
     sampling with the data transducer head and holding peak amplitude of the second servo burst, 
     comparing held first burst amplitude with a predetermined value to determine if the data transducer head has passed over a linear edge portion thereof, and if so, determining from the held first burst amplitude the position; and if not, determining from the held second burst amplitude the position of the data transducer head relative to the one track.

REFERENCE TO SOFTWARE LISTING p A microfiche containing a listing ofmicrocode related to implementation of the present invention has beenfiled in connection with the application for this patent.

1. Field of the Invention

The present invention relates to head position servo control systems fordisk drive data storage subsystems More particularly, the presentinvention relates to a head position measurement method and apparatusfor a disk drive for determining incremental head position within a datatrack by reference to a selected servo burst edge obtained from anembedded servo sector, and a servo method and apparatus for making useof the edge servo position information.

2. Background of the Invention

Head position control systems for disk drives have followed many forms.One form employed for low track density, low cost disk drives has been aso-called "open loop servo" positioner employing a detent-providingactuator, such as a step motor. Concentric data track locations aredefined by stable positional states or detents of the step motor. Inorder to access a particular track location, a controller issues steppulses to the step motor (usually through current driver circuitry) andthe step motor rotates one step of rotation in a controlled directionfor each pulse received This step rotation is then applied to rotate arotary head positioner or is converted into rectilinear motion to move alinear head positioner. Open loop servo positioners have most frequentlybeen employed in floppy disk drives, and have also been employed in somelow cost, low capacity fixed disk drives, such as the ShugartAssociates' SA1000 eight inch disk drive, and the Seagate TechnologyST-506 and ST-412 five and one quarter inch disk drives The drawback ofthe open loop servo head positioner servo is that without any headposition feedback information, the tracks must be spaced sufficientlyapart in order to accommodate expansion and contraction tolerancesoccurring within the disk drive.

A second approach has been to dedicate an entire data storage surface ofa disk drive to head position servo information. With this approach, apattern of servo tracks is written very precisely with a servo writerapparatus. The disk drive is then outfitted with a servo head and aservo information read-only channel which operates within a headposition servo loop. During head positioning operations, both duringseeking mode and during track following mode, the servo pattern isconstantly monitored and provides position feedback information to thehead positioner servo loop. Such loop is consequently referred to as aclosed-loop positioner, and the loop is closed about the servo surfaceand servo read channel. One drawback of the servo surface approach isthat an entire storage surface must be devoted to servo information,together with a dedicated servo transducer head and servo read channel.Thus, this particular architecture is most applicable to disk drivesemploying four or more stacked data storage disks, so that the servosurface is not more than one-eighth of the total storage capacity of thedisk drive. Another drawback of the servo surface approach is that overthermal cycles or after mechanical shocks, a positional discrepancy maydevelop between data recorded on a track of a disk other than the diskcontaining the servo pattern and the corresponding servo track nominallyprovided for registering the commonly mounted and moved transducer headstack.

A head position system which may be realized at lower cost than thededicated surface closed loop servo but which does not employ the costoverhead of the servo surface and dedicated transducer/read channel, isrealized with a head positioner transducer, such as a polyphase opticalencoder, having a scale tightly coupled to the head arm assembly. Theheads are then positioned on the basis of position information fed backto the servo control loop from the optical transducer. Unfortunately,system tolerances and shifts, typically due to thermal changes, inertia,reticle to scale gap shifts, etc., cause the optical encoder to losecalibration with actual head position.

One way of correcting for tolerances of the disk drive arising e.g. fromthermal shifts, or otherwise, is to embed prerecorded servo informationon one or more of the data storage surfaces, and to retrieve thisembedded servo information periodically and use it as a positioncorrection vernier in order to correct the position of the headtransducer relative to data track location This correction informationmay be embedded as a single servo sector located at an index marker, aswas done in the commonly assigned U.S Pat. No. 4,396,959, now U.S.Reissue Patent No. Re. 32,075 in the case of the polyphase opticalencoder positioner servo loop. The disclosure of the referencedRe.32,075 patent is hereby incorporated by reference. Or, theinformation may be embedded as one or more servo sectors and used incombination with a servo surface as was done by IBM in its 62PC eightinch disk file also known in the industry as the "Piccolo" disk drive,see Robert D. Commander et al., "Servo Design for an Eight-Inch DiskFile" IBM Disk Storage Technology February 1980, pp 90- 98; also see IBMU.S. Pat. No. 4,072,990 relating to this approach.

Still another method for providing head position feedback information toa head positioner servo loop is to embed servo information in asufficient number of servo sectors interleaved within the data trackssuch that the servo information may be periodically sampled and held,and head position thereupon derived from the samples. In an embeddedsector servo system, head position resolution will depend e.g. upon thenumber of samples provided per rotation and the efficiency with whichthe servo loop can process each sample into a correction value forcorrecting head position A disk drive employing an embedded servo headpositioner servo loop is described in the present inventor's commonlyassigned U.S. Pat. No. 4,669,004, the disclosure of which is herebyincorporated by reference.

To be effective, an embedded servo pattern should include informationidentifying the track as unique from its neighboring tracks, and thepattern should provide a centerline reference as well. The trackidentification number is useful during track seeking operations toindicate the radial position of the data transducer head relative to thestorage surface, and the centerline reference is useful to center thedata transducer head over the track centerline during track followingoperations The servo information may include a spatial quadraturerelationship which may be used to indicate the direction of movement ofthe head transducer relative to the tracks during seeking In thereferenced '004 patent, four non-phase coherent bursts were provided foreach servo sector embedded within each data track. These bursts providedspatial quadrature as well as track position information, which wasresolved digitally to a one-third track pitch level.

It is known that a head transducer may function as a very accurateradial position measurement device relative to recorded patterns passingby the head transducer. By this is meant that if the head reads aprerecorded burst pattern, the amplitude of the recovered signal will beproportional to the degree of coincidence radially between the headtransducer and the burst pattern. If a head is in alignment with theburst, a maximum amplitude is recovered. If only a fraction of the burstis encountered by the head, the amplitude of the recovered signal willbe a fractional amount of full amplitude which is proportional to theradial displacement of the head. If the head misses the burstcompletely, then no burst amplitude is recovered.

With modern servo writing techniques, embedded sector servo patterns aretypically written in multiple, phase coherent passes of the datatransducer head so as to record servo data field and centering burstpatterns which are wider than the electrical width or head gap of thedata transducer head. This additional servo sector width advantageouslyprovides for a suitable guard band between each data track, the widththereof being fixed by the head gap width. However, in this situation, ahead may be aligned completely with a servo burst, but incapable ofresolving relative position within a dimension by which the radial widthof the burst exceeds the head width. This dimension is in effect a servodead zone. As the head moves throughout the extent of the dead zone, theamplitude of the signal recovered from the burst will remainsubstantially invariant. Thus, the servo loop experiences a dead bandthroughout this range

The prior art has attempted to accommodate the dead band by providingtwo or four time staggered, radially offset bursts having burst edges ofa pair of bursts aligned with track centerline in each servo sector. Therelative amplitudes of two selected bursts having opposite edges inalignment with the centerline of the track being followed are thencompared to develop a centerline offset error signal However, this priorapproach has not provided accurate position information when the head isnot in precise alignment between the two radially aligned edges of thetime staggered bursts. This situation becomes important during trackseeking operations and most particularly during a transitionaloperational phase between track seeking mode and track following mode, aphase known as track settling.

One known drawback of the prior art is that the track settling phase hasrequired a significant time period, thereby effectively extending trackaccess times associated with track seeking.

Another hitherto unsolved need has remained for a more precise servosystem which provides more precise position information within a fullpositional linear range between the boundaries of each track, therebyenabling faster and more precise track settling operations to be carriedout.

SUMMARY OF THE INVENTION WITH OBJECTS

A general object of the present invention is to provide a head positionservo control system for a high capacity fixed disk data storagesubsystem employing a predetermined plurality of embedded servo sectorswherein the sector servo pattern provides a track number and furtherprovides a plurality of servo burst edges within each track enablingmeasurement of the precise location of the head relative to the trackand of vernier head position control in a manner which overcomes thelimitations and drawbacks of the prior art.

Another object of the present invention is to provide a servo patternfor a disk drive in which only two servo bursts are employed to provideedges during track seeking and settling operations, and wherein only twoservo bursts are employed to provide absolute track centerline positioninformation during track following operations, and wherein at least oneof the bursts is commonly used during both track seeking and settlingmode, and track following mode, thereby limiting the total number ofservo bursts needed to not more than three per sector interval.

A further object of the present invention is to provide a burst patternfor a data track servo sector which provides a plurality of burst edgeswhich may be selectively quantized digitally and used to provide anabsolute head position measurement vernier within the data track.

One more object of the present invention is to provide a burst patternfor a data track servo sector in which burst edges are selected bydetection of low amplitude and high amplitude equivalence points betweenadjacent bursts.

Yet one more object of the present invention is to provide a disk drivewith a plurality of data track zones wherein each zone has a number ofdata sectors and a bit transfer rate adapted to optimize bit densityradially across the data surface and with a plurality of evenly spacedservo sectors throughout the radial extent of the data storage surface,and wherein the information in the servo sectors may be read by the sameelectronics for reading the data patterns.

Still one more object of the present invention is to provide a highcapacity, high performance, low access time disk drive which uses anembedded sector servo pattern adapted to minimize processing time andhardware in order to acquire an absolute position value from a servosector during track seeking and settling operations.

Yet a further object of the present invention is to provide an embeddedsector servo pattern optimized to a sixteen bit digital processingsystem within a head positioning servo loop of a disk drive.

Yet one more object of the present invention is to provide an absoluteposition resolving servo loop which removes any track number ambiguityotherwise resulting from hysteresis (i.e. track number preference)characteristics of the data channel of the disk drive.

A still further object of the present invention is to provide a methodfor controlling head position within a disk drive from absolute headposition information relative to adjacent data tracks provided byquantization of servo burst edge amplitudes read from burst edges withinembedded servo sectors on a data surface.

In accordance with the principles of the present invention a datastorage disk of a high performance, high capacity disk drive includes aprerecorded pattern of embedded servo sectors prerecorded on a datastorage surface of a rotating storage disk. The servo sector patternprerecorded for each track is radially wider than the radial head gapwidth of a data transducer head associated with the data storage surfaceleading to a position-resolution dead zone within each burst width. Thepattern includes for a second concentric data track lying between afirst track and a third track of a multiplicity thereof: a) a servosector address mark field including a magnetic flux transition patternprerecorded therein for identifying the start of the servo sectorpattern; b) a track number field including a magnetic flux transitionpattern prerecorded therein for identifying the second data track fromamong the multiplicity thereof; c) a first occurring servo burst beingprerecorded with a predetermined servo burst magnetic flux transitionpattern and having one longitudinal burst edge located substantiallycongruent with a track centerline of the second track, and havinganother longitudinal burst edge located substantially congruent with atrack centerline of the third track; and, d) second occurring servobursts being prerecorded with the predetermined servo burst magneticflux transition pattern for providing burst edges substantiallycongruent with track boundaries of the second track relative to thefirst track and the third track, the second servo bursts being recordedentirely within the boundaries of the first track and the third track.

In one aspect of the present invention, the servo sector pattern furthercomprises for a track following servo mode a third occurring servo burstbeing prerecorded with the predetermined servo burst magnetic fluxtransition pattern and located spatially as to be electrically 180degrees out of phase with the first occurring servo burst such that thethird occurring servo burst has one longitudinal burst edge locatedsubstantially congruent with the track centerline of the second trackand another longitudinal burst edge located substantially congruent witha track centerline of the first track.

In another aspect of the present invention a method is provided fordetermining a digital radial head position value within a disk driveincluding a rotating storage disk defining a data storage surface, adata transducer head for reading and writing data from and to concentricdata storage tracks on the storage surface, control electronicsassociated with the data transducer head and an actuator for moving thehead and wherein the data tracks include embedded sector servoinformation. In this aspect of the invention, carried out during a seekand settle mode, the method comprises the steps of:

reading a track number from a track number field of a said embeddedsector to determine radial head position in proximity to circumferentialboundaries of a said data track identified by the track number,

determining the amplitude of a first servo burst and selecting therefroma circumferential edge from a plurality thereof,

quantizing the amplitude read from the selected burst edge as a digitalvalue,

calculating a fine position vernier value relative to the said datatrack based upon the quantized digital value of selected burst edgeamplitude, and

adding the fine position vernier value to the track number of the saiddata track thereby to provide the digital absolute head position valuefor the selected sector.

As one facet of this aspect of the present invention, track crossingrate is measured, and a flag is set if the track crossings are occurringat a rate of e.g. five tracks or more per servo sample. When the flag isset and under certain between-track head position circumstances, onlythe track number is read from the track field and the burst amplitudesare ignored. When the flag is not set, the burst edge amplitudes areused to resolve any ambiguity otherwise resulting from hysteresis in thedata channel of the disk drive.

These and other objects, advantages, aspects and features of the presentinvention will be more fully understood and appreciated by those skilledin the art upon consideration of the following detailed description of apreferred embodiment, presented in conjunction with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the Drawing:

FIG. 1 is a diagram of a prerecorded embedded servo sector pattern for adisk drive in accordance with the principles of the present invention,the pattern being repeated on a data storage surface of a rotating diskin a disk drive and including A/B/C servo bursts wherein the A and Bbursts form an edge servo for track seeking and settling and wherein theA and C bursts form a track following servo pattern.

FIGS. 2A and 2B are diagrams illustrating edge servo arrangement inaccordance with the present invention by graphing relative amplitudes ofthe A/B servo burst pattern in spatial quadrature as a function ofradial position of a data transducer head on the disk surface.

FIG. 3 is a graph of one example of quantization values for a servoburst edge in relation to radial position of the data transducer head.

FIG. 4A is an overall, top-down control program flowchart for a portionof the microprocessor control program for determining absolute trackposition from a selected burst edge in accordance with the principles ofthe present invention.

FIGS. 4B through 4G comprise flowcharts of subroutines called from theFIG. 4A main routine.

FIG. 5 is a block diagram of a disk drive incorporating a rotatingstorage disk having the FIG. 1 prerecorded embedded servo sectorpattern.

FIG. 6 is a plan view graph of a data surface of the FIG. 5 rotatingstorage disk, illustrating eight data sector zones Z0-Z7 havingrespectively different data transfer rates and commonly aligned servosectors throughout the data storage space of the FIG. 5 disk drive.

FIG. 7 is a diagram of a segment of a data track including data sectorsand embedded servo sectors.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

With reference to FIG. 1 a prerecorded servo sector pattern is providedfor controlling head positioning within a disk drive. The disk drive maybe of the floppy, or removable media type, or, more preferably it may bea fixed disk drive 100 (see FIG. 5) wherein data storage disks 14 arefixed to a spindle hub within an enclosed head and disk assembly. Thesector pattern depicted in FIG. 1 is embedded within concentric datastorage tracks of a disk surface, meaning that the sector patternperiodically interrupts the data storage area of each data track inorder to provide absolute positional information, via a data transducerhead 102 associated with the particular data storage surface, to controlcircuitry of the disk drive 100 comprising a head position servo loop.

The servo sector pattern depicted in FIG. 1 passes by the datatransducer head 102 and is read during a servo sector interval denotedby the reference numeral 10. Servo data is sampled and held forprocessing by the control circuitry. The servo sector is read duringtrack seeking operations, i.e., when the data transducer head 102 isbeing moved from one radial track location to another radial tracklocation; it is also read during track settling operations, i.e., when adestination track centerline is being approached by the data transducerhead 102; and, it is read during track following operations, i.e., whenthe data transducer 102 is following the centerline of a data storagetrack and is in position for reading or writing user data to and fromdata storage portions of the track being followed.

The servo sector interval duration is marked in terms of "T" periodswherein T is a basic clock cycle period of 62.5 nanoseconds (repeatingat 16 MHz) The servo sector interval 10 has a nominal duration of 386T(24.125 microseconds), and preferably there are 52 sector intervals 10prerecorded in each concentric data track on each data surface 12 of oneor more of the rotating data storage disks 14 of the disk drive 100. Theservo sectors 10 are equally spaced apart and interrupt themultiple-zoned data tracks at fixed intervals as shown in FIG. 5 anddiscussed hereinafter.

Each servo sector interval 10 is prerecorded with the data transducerhead 102 which is precisely positioned during servo writing with the aidof a servo writer, such as the one described in commonly assigned U.S.Pat. No. 4,920,442, for example. FIG. 1 illustrates a portion of thesector 10 for four adjacent concentric data tracks, e.g. tracks n-1, n,n+and n+2, etc., it being understood that a beginning track number n=0lies at a radially outermost region of the data storage disk 14, andthat the highest track number, e.g. n=2000, lies at a radially innermostregion of the data storage disk 14. While the FIG. 1 servo sector graphis drawn in rectilinear format, it will be understood by those skilledin the art that actually each track and its embedded servo sectorsfollow the locus of a circle, as more accurately shown in FIG. 6.

Also, each servo sector interval 10 has a width greater than the headwidth of the data transducer 102 thereby to establish guard bands. Inorder that the servo information be written in the radially wider servosector interval 10, multiple passes are made over the interval by thehead 102 while phase coherent servo writing currents are selectivelytransduced by the head 102 into the magnetic media coating of the disksurface. As already noted, the greater servo burst width results in asaturated-amplitude-level dead zone DZ (see FIG. 2B) within each burstthrough which the head 102 is unable to determine position based uponthat burst.

As prerecorded by the servowriter apparatus, each servo sector interval10 preferably includes an AGC field 16, a servo sync field 18, a servoaddress mark field 20, an index bit field 22, a track number field 24, afirst DC erase gap 26, a first servo burst field 28 labelled "A" burst,a second DC erase gap 30, a second burst field 32 labelled "B" burst, athird DC erase gap 34, a third burst field 36 labelled "C" burst, and afourth DC erase gap 38. The track number field 24 and the A and B burstfields 28 and 32 are used to provide absolute head position during trackseeking and settling operational mode, and the A and C burst fields 28and 36 are used to provide absolute head position information duringtrack following operational mode. In this manner, to be explained ingreater detail hereinafter, only two time staggered servo burst fieldsare required for absolute head position information during eachoperational phase, whether it be track seeking, track settling or trackfollowing.

The AGC field 16 is prerecorded with a 3T repeating pattern (100s),which are repeated 24 times. The 3T pattern is further to be understoodas a positive (or negative) going flux reversal pulse, followed by twonon-active time periods (T periods of no flux transitions). The next 3Tpattern is a negative (or positive) going flux reversal also followed bytwo non-active T periods during which there are no flux transitions orreversals associated with the disk data surface 12. The AGC field 16 istherefore used to adjust the gain of drive read channel electronics 106and 110 to a predetermined reference value prior to reading the burstamplitude of the servo bursts 28, 32 and 36 as will be hereinafterexplained. In this manner there is no need to calculate an AGC value ashas been previously required for each track location in accordance withthe burst amplitude relations: (A-C)/(A+C), for example.

It should be noted that the 3T pattern in the AGC field 16 is phasecoherent from track to track throughout the radial extent of each sector10 and is used to calibrate and normalize the gain characteristics ofthe read channel electronics associated with the data transducer head102, so that the AGC field 16 creates an electrical signal of knownamplitude. During seeking, the read channel data amplitudes tend tovary. Therefore, having a known AGC value for a servo sector interval 10is especially useful during track seeking and settling mode.

The servo sync field 18 is a 3T pattern which is repeated 6 times, for aduration of 1.13 microseconds. The servo sync field 18 is also phasecoherent from track to track throughout the radial extent of the sector10. The servo sync field 18 enables a master state machine locatedwithin the servo control circuit 130 to detect that a servo sector ispresently being read and to set up timing windows for subsequent fieldswithin the servo sector, including particularly the servo address markfield. This approach avoids the need to use the phase locked loop 114 toset up timing for marking boundaries of the servo sector fields.

The servo address mark field 20 sets forth a servo address value whichis intentionally designed to violate a run length limited data encodingpattern otherwise present in all of the data zones for the data valueswhich are recorded and read back by the disk drive 100. The disk drive100 preferably employs a 1,7 run length limited data encoding scheme,which means that the minimum number of zeros between ones is one, andthat the maximum number of zeros between ones is seven. The servoaddress mark field 20 is prerecorded e.g. with a twice repeating patternof 14T, i.e. 10000000000000 (a flux transition followed by 13 non-activeT periods). After the 2X14T pattern, a nine-bit servo data zero patternis read. This servo data zero pattern, i.e. 10 000 010 0, is decoded bythe servo loop as a binary zero. The servo address mark indicates to thedata separator that the information immediately following in timecomprises servo position information (as opposed to user data or otherinformation).

Disk position (rotation) information is provided from the index field22. If the sector 10 is the first servo sector of the 52 servo sectorswithin the concentric data track pattern, a prerecorded nine bit servodata one pattern, i.e. 10 010 000 0, is read out to provide a once perrevolution index marker. If the sector 10 is not the first sector, thenthe index field 22 is prerecorded with a nine bit zero value.

The track number field 24 is prerecorded with sixteen servo data bits,each comprising 9T periods, in accordance with a Gray code format. Forexample, for a binary track number of 00A(hex), the Gray code formatwill be 00F(hex). Thus, the pattern encoded in the track number field 24for a Gray coded track address of 00F(hex) will be: 10 000 010 0 10 000010 0 10 000 010 0 10 000 010 0 (first zero); 10 000 010 0 10 000 010 010 000 010 0 10 000 010 0 (second zero); 10 010 000 0 10 010 000 0 10010 000 0 10 010 000 0 (F value). This pattern is consistent with the1,7 run length limited data encoding pattern, and it is also consistentwith a 3T pattern which limits the minimum time for flux transitions(ones between zeros) to occur not more frequently than once every thirdclock cycle. This limitation ensures that the servo track number will bereliably readable even though data may be recorded at a higher transferrate (2T) in some data zones, which marks the bandwidth limit of theread channel of the disk drive 100.

The DC erase gaps 26, 30, 34 and 38 respectively separate the tracknumber fields 24 from the time staggered, radially offset A, B and Cbursts 28, 32 and 36, and from the beginning or resumption of the datatrack 40. The A, B and C bursts are each recorded with a 3T patternrepeated twelve times. Each A burst straddles alternate track boundariesbetween two adjacent tracks, e.g. the tracks n-2 and n-1, n and n+1, andn+2 and N+3. Thus, alternate circumferential edges of the A bursts arealigned with the track centerlines of every data track.

As shown in FIGS. 1 and 2, the B bursts are circumferentially offset(i.e., follow in time or "time staggered") with respect to the A burstsand are radially offset so that their relative amplitudes are inelectrical quadrature with A burst amplitudes, as well. By "quadrature"is further meant that each B burst is offset by one quarter track pitchfrom each A burst. By way of further explanation, if there are 360degrees between centerlines of adjacent tracks, the B burst is radiallyoffset by 90 degrees from the A burst. Each B burst straddles an eventrack, e.g. tracks n-2, n, and n+2. so that the circumferential edges ofeach B burst are substantially aligned with the track boundaries of thetrack being staggered, and of the two adjacent odd tracks as well.

With reference to FIG. 2A, it will be apparent that the radial width ofthe head gap of the head 102 is less than the nominal width of each datatrack. This arrangement conventionally provides a margin or guard bandbetween each track to minimize crosstalk from track to track andconsequent data errors. As already noted, this arrangement furtherresults in a dead zone DZ within each burst in which the head isincapable of resolving its position.

FIG. 2A depicts a portion of the disk 12 containing a servo sectorinterval 10. The vertical arrow illustrates relative rotational movementof the disk 12 relative to the head 102. FIG. 2B depicts electricalamplitude waveforms of signals read from the A and B bursts as afunction of radial displacement of the head 102. The saturation leveldead zones within each burst amplitude are labelled DZ in FIG. 2B.

As the data transducer head 102 moves across a circumferential edge ofan A or a B burst, an amplitude value will be obtained which isproportional to radial displacement of the head 102 relative to theburst edge. The amplitude values define fairly linear diagonal waveformsas graphed in FIG. 2B, with the amplitude of the A burst graphed as asolid line 40, and with the amplitude of the B burst graphed as a dottedline 42. Each line is similar to the other and is offset by 90 degreesin phase (quadrature). The horizontal segments mark the dead zones DZ inwhich radial displacement of the head 102 will result in no change inburst amplitude level. The diagonal segments mark radial positions ofthe head 102 in which amplitude is proportional to radial displacement.The diagonal segments reverse in sense as the head traverses the disksurface 12 from an outside diameter (OD) to an inside diameter (ID).

By inspection of FIG. 2B it is apparent that there are no radialpositions which are not defined by a circumferential burst edgeproviding linear head position feedback, and that the transitionsbetween edges lie between track boundaries and track centerlines(denoted by superimposed "C" and "L" in FIG. 2A). Thus, a servo burstedge may be selected and quantized in order to provide an incremental,linear position value which can be added to the track number read fromthe track number field 24 thereby to provide an absolute head positionat a particular sector 10 which is particularly valuable during thetrack seeking and settling mode of the disk drive head positioningoperations.

For example, when the data transducer head 102 is following thecenterline of track n-2, (denoted by the reference numeral 102a in FIG.2) half of the head width passes over the A burst 28 and half passesover a DC erased area not containing any flux transitions. Thiscondition results in a half amplitude value along an A burst diagonaledge 40 that slopes upwardly with radial position of the head 102.

With the head in the radial position denoted by the reference numeral102b in FIG. 2A, a minimum amplitude equivalence point A=BLo is sensed.This position is one quarter track pitch radially outwardly ofcenterline of the track n-1 (and is also three quarters of a track pitchradially inwardly of centerline of the track n-2). In this position, thehead 102 intercepts only a small segment of the A burst 28 and a likesmall segment of the B burst 32.

With the head in the radial position denoted by the reference numeral102c in FIG. 2A, a maximum amplitude equivalence point A=BHi is sensed.This position is one quarter track pitch radially outwardly ofcenterline of the track n-2. In this position, the head 102 interceptsequal major segments of the A burst 28 and the B burst 32. With the headin the radial position denoted by the reference numeral 102d (straddlingthe track boundary between tracks n-2 and n-1 for example) a point islocated in the center of a slope segment of the B burst graph 42.

Each diagonal slope or edge is preferably quantized at a resolution of1/32nd (2⁵) increments. For any track n, there are portions of threediagonal edges of A and B bursts which are available to be selected foramplitude quantization. It will be apparent by inspection of FIG. 2Bthat a position offset from centerline of the closest track read duringthe track number field time can be calculated and added to the tracknumber so read. The combination of the A and B servo bursts arranged asshown in FIGS. 1 and 2A, for example, therefore provides at least oneservo edge capable of being followed by the data transducer 102. Inoperation, explained hereinafter in conjunction with the FIG. 4flowcharts, one of the three available edges within each data track isselected, and the proportional amplitude of the burst associated withthe edge quantified in order to provide an absolute position value forvernier adjustment of head position to nominal track centerline.

The switchpoints 46 mark locations at which switchover occurs from onelinear slope portion of one of the bursts, such as the A burst 28, ismade to the linear slope portion of the adjacent other burst, such asthe B burst 32. Advantageously, each switchpoint occurs at a radialposition which is offset each side of track centerline by one quarter ofa track. This arrangement means that any transients or other disruptionsoccurring from switching between servo burst circumferential edgesoccurs away from track centerline, when a stable, undisturbed servoreference is needed during track following.

While the C burst 36 is depicted in FIGS. 1 and 2, it should beunderstood that the C burst 36 is not used in the edge servo positionvernier mode, and is preferably used during track following only becauseit is very accurate and robust. The A/C burst pattern is conventionaland enables each data track centerline to be marked by equal A and Cburst amplitudes. While the C burst 36 is presently preferably includedwithin each of the servo sector patterns 10 in each track for trackfollowing operations, the C burst 36 may be provided in alternate ways;or it may be omitted, with track centerline following mode based uponthe H burst edge alone.

The C burst may be included with the A burst in one or more selectedcalibration tracks, such as an outer calibration track, a middlecalibration track, and/or an inner calibration track, for example. Inthis arrangement, the A/C burst common edge at a centerline would befollowed to calibrate the circuitry used during following of aparticular edge during track following operations.

Conventionally, the C burst is positioned to be radially offset by 180degrees from each A burst. Thus, a head following a data trackcenterline will obtain a half amplitude value from the A burst (radialand circumferential position 102a in FIG. 2A), and it will then obtain ahalf amplitude value from the C burst (radial and circumferentialposition 102e in FIG. 2A), as was described in the referenced U.S.Reissue Pat. No. Re.32,075 noted above.

With reference to FIG. 3, each diagonal slope of the waveforms 40 and 42between the A=BHi point and the A=BLo point may be quantified into oneof e.g. 32 amplitude values. These values are digitized and may then beadded as a five bit, low bit position vernier to the eleven bit, upperbit position digital track number read from the track number field 24.In one example, the high equivalence point A=BHi quantizes at C0 (hex),the low equivalence point A=BLo quantizes at 40 (hex), and a centerlinemidpoint on the edge quantizes at 80 (hex). The slope of the edge 40 isdetermined during a recalibration routine and has the following formula:##EQU1## where delta x is the change in amplitude between A=BHi pointand A=BLo point as a function of radial displacement y of the head alonga particular edge.

A representative slope is calculated during a recalibration operationwhich is performed when the drive is powered up and also periodically asneeded during pauses in other data transfer operations. Also, the A=BHiand A=BLo values calculated for a representative track

Even if the data transducer head 102 passes directly over a trackboundary separating two adjacent tracks, such as the head positiongraphed at 102D in FIG. 2A wherein the head is straddling the boundarybetween the tracks n-2 and n-1, only one track number will be read fromthe data track field 24. This selectivity is due to the nature of thepulse detector 110 which decodes only alternating flux transitions. Thesecond flux transition in the same direction occurring without a reverseflux transition is ignored by the pulse detector 110.

Thus, even though both track numbers are read with equal amplitudes,only the track number having a first occurring flux transition in a bitposition will be recognized. Consequently, it will be apparent to thoseskilled in the art that if a calibration operation is periodicallycarried out wherein the high amplitude equivalence points 42 and the lowamplitude equivalence points 44 are sensed, and the position of the headtransducer 102 set to one quarter track pitch outwardly from even trackcenterline and odd track centerline respectively, the A burst edge 28will thereupon become calibrated such that a midpoint quantization value16 will in fact correspond to track centerline.

Returning for a moment to FIG. 2B, it will be noted that four servoburst edge phases have been assigned within a complete cycle of the Aand B burst amplitudes. In phase EA the A burst edge 40 is used withineven tracks, and in phase OA the A burst edge 40 is used within oddtracks. In phase EB and phase OB, the B burst edge 42 is used. The otheredge segments are more complicated and are divided into halves, selectedby available B burst edge and whether an odd track number or an eventrack number has been read.

In this regard it is important to note that the read data channel maymanifest a hysteresis characteristic in such a manner than one tracknumber may be read, even though the head 102 is presently located mostlywithin an adjacent track. This preference to a particular head numberstems from the fact that certain flux transitions denoting the one tracknumber occur before the flux transitions denoting the adjacent tracknumber. Once a bit position becomes set, it remains set and therebymisses the later occurring (and stronger) flux transition designatingthe track over which the head is mostly positioned. As will be explainedhereinafter, a method is provided, based on relative A/B burstamplitudes, for overcoming this track number error based on hysteresis.

Returning to the discussion of FIG. 2B, an edge phase EB₋₋ B>A extendsfrom the switch point 46 to the edge of the even track, and an edgephase OB₋₋ B>A extends from the edge of the even track to the lowamplitude level equivalence point (A=BLo). An edge phase OB₋₋ A>Bextends from a switch point 46 to the boundary between the odd and eventracks, and an edge phase EB₋₋ A>B extends from the track boundary tothe high amplitude level equivalence point (A=BHi).

FIGS. 4A through 4G set forth an overall flowchart which illustrates amethod for calculating an absolute position within the boundaries ofeach track to a resolution of a thirty second of a track pitch. In orderto make the calculation of track pitch vernier, it is necessary todetermine which phase (edge) is applicable, and then to obtain necessaryamplitude measurements and prestored values in order to carry out thedetermination of the track pitch vernier.

Before discussing the details of the method, it should be observed thatthe method is preferably implemented within a control program executedby a drive microcontroller 140 of the disk drive 100. Themicrocontroller 140 preferably includes a sixteen bit microcontroller,such as type 78322 made by NEC Corporation, or equivalent. In thisapproach, the track number read from the track number field 24 isassigned to eleven most significant bits of the sixteen bit trackposition number. The five lower bits are provided as one of 32 possiblepositional increments per track as depicted in FIG. 3. When the tracknumber is read from the track number field 24, the eleven bits areloaded into the eleven high bit positions of the sixteen bit positionregister, and the lower five bits are preloaded with a numerical valueof 16, which corresponds to the nominal track centerline quantizationvalue. All of the adjustments provided by the subroutines depicted inFIGS. 4B through 4G adjust the preloaded numerical value to a correctedvalue. The FIGS. 4A through 4G flowcharts are drawn in top-down format,meaning that the sequence progresses from top to bottom of eachflowchart.

In order to remove the positional ambiguity which may stem from certaintrack numbers due to read channel threshold characteristics andresultant hysteresis and possible errors in the track number, a favortrack number flag FVR₋₋ TK is set during the seek routine. Those skilledin the art will appreciate that the track number actually recovered fromthe read channel may not be the closest track to the head, due to readchannel hysteresis characteristics. If, as is presently preferred, fiveor more tracks are being crossed between each servo sector intervalsampled, the favor track flag FVR₋₋ TK is set to a one. This denotes ahigh speed portion of a seek operation at which the track numbers readfrom the track number fields 24 are used in lieu of some of the B burstedge information lying at the transition between adjacent trackboundaries. If less than five tracks are being crossed between eachservo sector interval sampled, the favor track flag FVR₋₋ TK is set tozero. This denotes a low speed head movement phase, as in settling, andin this phase, between-track servo burst edges are preferred to thetrack number for determining exact position of the head transducer 102.The routines to set and clear the favor track flag are contained withinthe servo interrupt service routine which is executed periodically bythe microprocessor in synchronism with passage of the head 102 over eachservo sector interval 10.

Turning now to FIG. 4A, a start node 50 is entered at servo time by themicrocontroller 140 on a servo interrupt service routine basis. Thetrack number is read from the track number field 24 of the sector 10 andentered into a register at a step 51. A logical node 52 determineswhether the track number identifies an odd track or an even track.

If an even track is identified by the track number, program flowprogresses to a logical node 53 which tests whether the A burstamplitude is less than the low equivalence point (A=BLo). If so, an eventrack, B burst greater than A burst (EB₋₋ B>A) subroutine 54 (FIG. 4B)is called. In execution of this subroutine the B burst edge is theoperative edge. This subroutine 54 is executed until done, as indicatedat the done node 55. If the logical node 53 determines that A was notless than the low equivalence point (A=BLo), a logical node 56 testswhether A burst amplitude lies between the high equivalence point(A=BHi) and the low equivalence point (A=BLo). If so, an even track, Aburst (EA) subroutine 57 (FIG. 4C) is called. This subroutine 57 uses anA burst edge and it is executed until a done node 58 is reached.

If A burst amplitude does not lie between the high and low equivalencepoints, as tested at the node 56, the only remaining possibility is thatA burst amplitude is greater than the high equivalence point (A=BHi) andin this event an even track, A burst greater than B burst (EB₋₋ A>B)subroutine 59 (FIG. 4D) is called. This subroutine 59 employs a B burstedge. The subroutine 59 is executed until a done node 60 is reached.

Returning to the odd track/even track logical node 52, if an odd trackis determined to be present, a logical node 62 tests whether A burstamplitude is less than the low equivalence point (A=BLo). If so, an oddtrack, A burst greater than B burst (OB₋₋ A>B) subroutine 63 (FIG. 4E)is called. This subroutine 63 employs a B burst edge and is executeduntil a done node 64 is reached. If not, a logical node 65 determineswhether A burst amplitude lies between the high and low equivalencepoints. If so, an odd track, A burst edge (OA) subroutine 66 (FIG. 4F)is executed until a done node 67 is reached. The only remainingpossibility is that A burst amplitude is greater than the highequivalence point (A=BHi). In this case an odd track, B burst greaterthan A burst (OB₋₋ B>A) subroutine 68 (FIG. 4G) is executed, using a Bburst edge. This subroutine continues until a done node 69 is reached.

FIG. 4B sets forth the subroutine 54 for calculating the positionvernier if the head 102 is located in the EB₋₋ B>A edge phase segment. Astart node 200 begins this subroutine. The amplitude of the B burst edgeis obtained at a step 201. At a step 202, the low equivalence value(A=BLo) is subtracted from the measured B amplitude to obtain adifference value DIFF. The difference value DIFF is multiplied by theslope value SLP at a step 203 and the resultant product equals a numberNUM. A logical node 204 tests whether the number NUM is less than 8. Ifso, a logical node 205 then determines whether the favor track flag isset to one. If so, 15 is added to the actual track number (centered witha preset to 16) ACT₋₋ TK at a step 206 and execution then reaches a donenode 207. If the favor track flag is zero, meaning that burst edge isfavored over track number, the slope value NUM is subtracted from theactual track number ACT TK in a node 208 and a node 209 adds 23 to theresultant difference. A done node 209 is then reached.

If the logical node 204 determines that the number is not less than 8, alogical node 211 determines whether the, number NUM is greater than avalue of 15. If so, a value of 8 is added to the actual track numberACT₋₋ TK at a step 212, and a done node 213 is then reached.

If the logical node 211 determines that the number NUM is not greaterthan 15, meaning that NUM lies in a range between 8 and 15, a step 21subtracts the slope value NUM from the actual track number ACT₋₋ TK, astep 215 adds a value of 23 to the resultant sum to obtain the finalposition correction value, and a done node 216 is reached. Thiscompletes the discussion of the EB₋₋ B>A edge subroutine 54 depicted inFIG. 4B.

FIG. 4C sets forth the subroutine 57 for the EA edge phase subroutine57. A start node 220 leads to a step 221 at which the low equivalencevalue (A-BLo) is subtracted from A burst amplitude in order to obtain adifference value DIFF. The difference value is then multiplied by theslope value SLP at a step 222 to achieve a number value NUM. A logicalnode 223 then tests whether the number value NUM is greater than a valueof 15. If so, a value of 8 is then subtracted from the actual tracknumber ACT₋₋ TK at a step 224, and a done node 225 is reached.

If the logical node 223 determines that the number NUM is less than 15,a step 226 subtracts the number NUM from the resultant difference at astep 227 to complete the determination of precise position; and, a donenode 228 is then reached. The case of the number value NUM being lessthan zero should never occur, and no provision is therefore made to testfor that possibility. This completes the discussion of the EA subroutinedepicted in FIG. 4C.

Referring to FIG. 4D, the subroutine for the EB₋₋ A>B edge subroutine 59begins at a start step 230 and leads to a step 231 at which the B burstedge amplitude is obtained The low equivalence point value (A+BLo) isthen subtracted from measured B amplitude to obtain a difference valueDIFF at a step 232. The difference value DIFF is then multiplied by theslope value SLP at a step 233 to obtain a slope number value NUM. Alogical node 234 then determines whether the number value NUM is lessthan 8.

If so, a logical node 235 tests whether the favor track flag FVR₋₋ TK isset. If so, a value of 16 is subtracted from the actual track numberACT₋₋ TK at a step 236 and a done node 237 is reached. If the favortrack flag FVR₋₋ TK is not set, meaning that burst edge is preferredover track number, the numerical slope value NUM is added to the actualtrack number ACT₋₋ TK at a step 238, and a value of 24 is subtractedfrom the resultant sum at a step 239 to obtain actual track position. Adone node 240 is then reached.

If the number value is not less than 8 as tested at the node 234, asecond logical node 241 tests to see if the number value NUM is greaterthan 15. If so, a step 242 subtracts a value of 9 from the actual tracknumber ACT₋₋ TK, and a done node 243 is reached. If not, the numbervalue NUM is added to the actual track value ACT₋₋ TK at a step 244, anda value of 24 is subtracted from the resultant sum at a step 245. A donenode 246 is then reached. This completes the discussion of the EB₋₋ A>Bedge subroutine 59.

Referring to FIG. 4E, the OB₋₋ A>B edge subroutine 63 begins at a startnode 250. B burst edge amplitude is obtained at a step 251, and the lowequivalence value A=BLo is subtracted from B burst amplitude at a step252 to obtain a difference value DIFF. The difference value DIFF is thenmultiplied by the slope value SLP at a step 253 to obtain a number valueNUM. A logical node 254 then tests whether the difference is less thanzero. If so, a value of 8 is added to the actual track number ACT₋₋ TKat a step 255, and a done node 256 is reached.

If not, meaning that the number value is greater than zero as tested atthe node 254, a logical node 257 tests to see if the number value NUM isgreater than 7. If so, a further logical node 258 determines if thefavor track flag FVR₋₋ TK is set. If so, a step 259 adds a value of 15to the actual track number ACT₋₋ TK, and a done node 260 is reached. Ifnot, meaning that the burst edge is to be used in preference to thetrack number, the slope number value NUM is added to the actual trackvalue at a step 261, and a value of 8 is added to the resultant sum at astep 262. A done node 263 is then reached.

If the number value NUM lies between zero and 7, as tested at the node257, the number value NUM is added to the actual track number at a step264, and a value of 8 is added to the resultant sum at a node 265. Adone node 266 is then reached. This completes the discussion of the OB₋₋A>B edge subroutine 63 depicted in FIG. 4E.

With reference to FIG. 4F, the OA edge subroutine 67 begins at a startnode 270 and progresses to a node 271 at which the low equivalence value(A=BLo) is subtracted from A burst amplitude to yield a difference valueDIFF. The difference value DIFF is then multiplied by the slope valueSLP at a step 272 to yield a number value NUM. A logical node 273 testswhether the number value NUM is greater than 15. If so, a step 274 addsa value of 7 to the actual track number ACT₋₋ TK, and a done node 275 isthen reached.

If the number value NUM is less than 15 as tested at the node 273, astep 276 adds the number value NUM to the actual track value ACT₋₋ TKand a value of 8 is subtracted from the resultant sum at a step 277. Adone node 278 is then reached. The number value NUM should never be lessthan zero in this particular A burst edge phase subroutine 57. Thiscompletes the discussion of the OA edge subroutine depicted in FIG. 4F.

With reference to FIG. 4G the OB₁₃ B>A edge phase subroutine 68 beginsat a start node 280 and progresses to a step 281 at which the B burstedge amplitude is obtained. Measured B burst edge amplitude is thensubtracted from the low equivalence value (A=BLo) to yield a differencevalue DIFF at a step 282. The difference value DIFF is then multipliedby the slope value SLP at a step 283 to produce a number value NUM. Alogical node 284 tests whether the number value NUM is less than zero.If so, a step 285 subtracts a value of 9 from the actual track numberACT₋₋ TK, and a done node 286 is reached.

If the number value NUM is not less than zero, it is checked at alogical node 287 to see if it is above the value of 7. If so, a logicalnode 288 then checks to see if the favor track flag FVR TK is set. Ifso, a node 289 subtracts a value of 16 from the actual track numberACT₋₋ TK, and a done node 290 is reached. If the favor track flag is notset, meaning that burst amplitude is preferred over track number, a node291 subtracts the numerical value NUM from the actual track number ACT₋₋TK. A step 292 then subtracts a value of 9 from the resultant sum, and adone node 293 is reached.

If the numerical value NUM lies between zero and 7, as tested at thenode 287, a step 294 subtracts the number value NUM from the actualtrack number ACT₋₋ TK, and a step 295 then subtracts a value of 9 fromthe resultant difference to produce the edge value for the particulartrack number. A done node 296 is then reached. This completes thediscussion of the OB₁₃ B>A subroutine 68 depicted in FIG. 4G.

When the process depicted in FIG. 4A is completed, a complete 16 bittrack location number is available to be subtracted by themicrocontroller 140 from a destination track number in order to know thedistance to the desired track location during the seeking operation. Thedesired track location 16 bit value is always set to include thecenterline position thereof in the lower five bit positions.

With reference to FIG. 5, the drive 100 includes one or more commonlyjournalled disks 14 which are rotated at a predetermined angularvelocity, such as 3600 rpm, by a spindle motor 13, such as a brushlessDC spindle motor directly mounted to rotate the disk spindle and disks12.

Each data surface has a respective data transducer head associatedtherewith. One disk surface 12 has the head 102 associated therewith,and an opposite major surface of the disk has the head 103 associatedtherewith, as shown in FIG. 5. The data transducer heads 102 and 103 aremounted to a head positioner structure 104, via a suitable load beamstructure. For low power applications, the inverted flange load beam andloading tab arrangement described in commonly assigned, copending U.S.patent application Ser. No. 07,/491,748, filed on Mar. 12, 1990, nowU.S. Pat. No. 5,027,241 is presently preferred, the disclosure thereofbeing expressly incorporated herein by reference at this portion of thespecification.

The head positioner structure is preferably of an in-line, mass balancedrotary actuator type, such as the actuator shown in the referenced '004patent. An actuator rotary voice coil motor 106 translates electricaldrive current into displacement force for positioning the heads 102 and103 from track to track during track seeking operations and formaintaining the heads 102 and 103 over desired data track locationsduring track following operations.

All information recorded on the disk surface 12 is read by thetransducer 102, including servo information in the servo sectors 10, anduser data in user data sectors as shown in FIG. 6. A read channelpreamplifier and write driver 106 preamplifies the minute electricalsignals transduced from the recorded flux transitions during reading andamplifies the driving current for writing data to the disk surfaceduring data writing operations. The circuit 106 also selects which headwill be writing to the disk surfaces 12.

A monolithic data path electronics circuit 108 includes pulse detectorcircuitry 110 for detecting flux transitions and for converting the fluxtransitions into digital transitions, a peak detector circuit 112 fordetecting peak amplitudes of the flux transitions read (so that theservo burst edge amplitudes may be obtained, for example), a phaselocked loop 114 for separating flux transitions into digital datastreams, and a frequency synthesizer 116. The pulse detector 110includes AGC circuitry which is reset to the servo AGC level by readingthe AGC servo field 16 with each incoming servo sector. This resets theread channel to the proper AGC level for servo burst amplitude afterhaving been set to a data AGC value while data was being read from adata zone between the servo sector intervals 10. The frequencysynthesizer 116 enables a number of different read and write frequenciesto be established thereby to support data zones having differing datatransfer rates and data sectors, as shown in FIG. 6. Preferably, themonolithic circuit 108 is implemented as a type DP8491 made by NationalSemiconductor Corp., or equivalent. This circuit operates on a single +5volt power supply.

Another monolithic chip 120 includes a run length limitedencoder/decoder 120 for encoding and decoding the data to and from 1,7run length limited code. Preferably, the encoder/decoder 120 is inaccordance with commonly assigned U.S. Pat. No. 4,675,652, thedisclosure of which is incorporated by reference. The chip 120 alsoincludes a data sequencer 124 and a buffer memory controller 126. Thedata sequencer 124 and buffer memory controller 126 together manage dataconversion between serial by word format and parallel by byte format,actual storage and retrieval of user data blocks into and frompredetermined storage locations within data sectors on the storagesurfaces 12 and temporary storage of the user data blocks in a buffermemory 156. A microcontroller interface 128 enables the chip 120 to becontrolled directly by the microcontroller 140.

A servo control circuit 130 is also included in the chip 120 and itprovides AGC timing window values to control the AGC amplifier withinthe pulse detector 110, and it generates the appropriate timing signalsto control the peak detector 112 in order to sample and hold the A burstand B burst amplitudes during seeking and settling mode, and optionallyto sample and hold the C burst amplitude during track following mode.The control circuit 120 monitors the bit stream coming from the pulsedetector 110 during a servo sector interval 10 and quickly synchronizesto the servo address mark 20 after the AGC field 16, so that the servocontrol circuit 130 may thereafter generate and put out control windowsfor separating the various servo fields 16, 18, 20, 22, 24, 28, 32 and36 within the servo sector interval 10 following the address mark field20. The servo control circuit 130 further generates a burst ready signaland puts it out over a line 133 to control burst amplitudes conversionby the A to D converter 142 of the microcontroller 140. It alsogenerates and puts out an interrupt signal over a line 131 to interruptprogram execution by the microcontroller during servo time.

The circuit 120 also includes a pulse width modulator 132 which puts outpulses of varying width or duty cycle to a servo loop low pass filter134 which converts these control pulses into smoothed driving currentswhich are supplied to a servo driver circuit 136. The servo drivercircuit 136 drives the rotary voice coil actuator motor 106. Forexample, a duty cycle of one half for a control pulse nominallyestablishes a zero driving current at the actuator motor 106. When theduty cycle exceeds one half, driving current in one direction isgenerated and put out. When the duty cycle is less than one half,driving current in the other direction is generated and put out. Thus,the one half duty cycle point marks the midpoint of the dynamic range ofthe pulse width modulator 132.

During track following operations of the drive 100, the A burst and Cburst amplitudes are sequentially applied to multiplexed inputs of ananalog to digital converter element 142 of the microcontroller 140. Themicrocontroller 140 sequentially converts the burst edge analogamplitude values into digital values. Alternatively, and less preferably, a pulse amplitude difference circuit (not shown) may be included toreceive the A burst and C burst amplitudes and derive an analog positionerror/difference value for quantization by the microcontroller A to D142. The A to D also receives the A burst edge amplitude and B burstedge amplitude values during track seeking and settling mode andconverts those values into digital numbers, as explained above.

The microcontroller 140 also directly controls the spindle motor 13through a spindle motor driver circuit 144. Disk speed is monitored bythe microcontroller by timing the interval between each successiveactive index sector 22.

An EPROM 146 contains some of the program instructions which areexecuted by the microcontroller 140. Other access-time-sensitiveinstructions are contained within an on-board ROM within themicrocontroller 140 itself. The EPROM 146 is addressed over a mid-orderbus 147 directly from the microcontroller 140 supplying address valuesfor address bit positions A8 through A12. Low order address bitpositions A0 through A7, and high order address bit positions A13through A15 are supplied to the micro interface 128 which demultiplexesthem and supplies them over a bus 148 to the EPROM 146. High orderaddress bit positions A13 through A15 are supplied over a bus 150 fromthe microcontroller 140 directly to the micro interface 128. A bus 149provides memory, address, and data values to the micro interface 128 andalso to a SCSI interface circuit 152.

A buffer data bus 154 connects the SCSI interface chip 152 to the RAMbuffer memory array 156 and also to the buffer control circuit 126.Buffer memory addresses are generated by the buffer control circuit 126and put out to the buffer memory array 156 over an address bus 158. Abus 160 provides an input/output path between the disk drive 10 and thehost computing system (not shown). A termination 162 may be provided toprovide suitable termination impedances to the bus lines 160 leading tothe host computing equipment with which the drive 100 is operativelyconnected.

With reference to FIG. 6, a presently preferred data zone arrangement isdepicted which improves the efficiency of bit packing on the datasurface 12 of the disk 14. Other data zoning arrangements are clearlyfeasible. As is known, bit density is a function of relative velocitybetween the data transducer head 102 and the rotating disk surface 12.This relative velocity is the greatest at the radially outermost tracks,and is least at the radially innermost tracks. Each of the eight datazones Z0-Z7 contains e.g. 117 concentric data tracks.

An outermost region Sys of the data surface 12, e.g. comprising fourdata tracks, contains system information needed for operation of thedisk drive subsystem 10. The outermost data zone Z0 includes 60 datasectors and has a raw data rate of 18.20 Mbps, a coded frequency of27.29 MHz. This zone stores e.g. 7.13 megabytes on both sides of thedisk 14.

The next zone Z1 contains 55 sectors, has a raw data rate of 16.76 Mbps,a coded frequency of 25.14 MHz, and stores 6.53 megabytes. The thirddata zone Z2 contains 52 sectors, has a raw data rate of 15.41 Mbps, acoded frequency of 23.11 MHz, and stores 6.17 megabytes on both sides ofthe disk 14. The fourth data zone Z3 has 46 sectors, has a raw data rateof 14.00 Mbps, a coded frequency of 21.00 MHz and stores 5.45 megabyteson both sides of the disk. The fifth data zone Z4 has 42 sectors, has araw data rate of 12.80 Mbps, a coded frequency of 19.20 MHz, and stores4.97 megabytes on both sides of the disk. The sixth data zone Z5 has 38sectors, has a raw data rate 11.64 Mbps, a coded frequency of 17.45 MHz,and stores 4.49 megabytes on both sides of the disk. The seventh datazone Z6 has 33 sectors, has a raw data rate of 10.13, a coded frequencyof 15.20 MHz, and stores 3.89 megabytes on both sides of the disk. Theeighth data zone Z7 has 30 sectors, has a raw data rate of 9.24. Mbps, acoded frequency of 13.87 MHz and stores 3.53 megabytes on both sides ofthe disk 14. Several tracks inside of the eighth data zone having thecharacteristics of the inside zone Z7 are available for storage ofsystem diagnostics and other values. The coded frequencies aresynthesized by the frequency synthesizer 116 under the control of themicrocontroller 140.

All told, with the data zone arrangement shown in FIG. 6, a total of42.17 megabytes may be stored on both sides of a single disk 14.Preferably, the disk 14 has a 2.5" diameter. By adjusting the raw datafrequency with the data zones, flux changes per inch can be held fairlyconstant, e.g. ranging from a high of 35,178 for Z0 to a low of 31,990for Z6.

As is apparent from FIG. 6, the servo sector intervals 10 occur at aregular rate, asynchronously with the data sectors of the data zonesexcept at the index (marked by a wedge at the edge of the disk 14 inFIG. 6). There are preferably 52 servo sectors 10. The servo frequencyis fixed at 16 MHz, so as to be somewhat below the highest raw datarate.

As shown in FIG. 7, each data sector 11 begins with a data sync field 13which enables the timer circuit 130 and PLL 114 to resynch to the zonedata rate. Since each embedded servo sector operates at a constant 3Tdata rate, a data sync field 13 follows each servo sector as well, sothat the read channel circuitry may resynch to the data rate followingeach servo sector interruption. A data ID field 15 occurs at thebeginning of each data sector and identifies the data sector to the 124.An ECC and tolerance gap 17 are also included at the end of each datasector 11.

The referenced '004 patent describes a track seeking servo loop in FIG.17 thereof, and a track following servo loop in FIG. 18. These loopstructures are examples of servo loops in which performance is enhancedby inclusion of absolute track position values during seeking andsettling in accordance with the principles of the present invention.

The microfiche appendix to this patent specification contains twoassembler language (source code) program listings, a first listinglabelled "SERVO" and a second listing labelled "SEEK" which is a routinecalled from the SERVO routine.

To those skilled in the art many changes and modifications will bereadily apparent from consideration of the foregoing description of apreferred embodiment without departure from the spirit of the presentinvention, the scope thereof being more particularly pointed out by thefollowing claims. The descriptions herein and the disclosure hereof arepresented by way of illustration only and should not be construed aslimitations of the scope of the present invention.

What is claimed is:
 1. A method for determining head position of a datatransducer head relative to a selected one track of a multiplicity ofconcentric data tracks within a disk drive data storage device, themethod including the steps of:providing at least one prerecorded servosector within the data track, the servo sector including first occurringservo burst means being prerecorded with a predetermined servo burstmagnetic flux transition pattern and having one longitudinal burst edgelocated substantially congruent with a track centerline of the saidtrack, and having another longitudinal burst edge located substantiallycongruent with a track centerline of a second track immediately adjacentto the said track, and second occurring servo burst means beingprerecorded with the predetermined servo burst magnetic flux transitionpattern for providing burst edges substantially congruent with trackboundaries of the said track; detecting the presence of the sector as itpasses by the data transducer head, reading the first occurring servoburst means with the data transducer head to determine a peak amplitudevalue therefrom and recording a first burst peak amplitude value,comparing the first burst peak amplitude value with at least onepredetermined reference burst amplitude value to establish whether thetransducer head has passed along a linear portion of one of the saidedges of the first occurring servo burst, and if so, determining fromthe recorded first burst peak amplitude the position of the datatransducer head, and if not, reading the second occurring servo burstmeans with the data transducer head to determine a peak amplitude valuetherefrom and recording a second burst peak amplitude value, determiningfrom the recorded second burst peak amplitude value the absoluteposition of the data transducer head relative to the said track.
 2. Themethod for determining head position as set forth in claim 1 comprisingthe further step of determining during a calibration routine thereference burst amplitude value.
 3. The method for determining headposition as set forth in claim 2 wherein the step of determining thereference burst amplitude value comprises the step of determining atleast one amplitude equivalence point at a location radially between thefirst servo burst means and the second servo burst means.
 4. The methodfor determining head position as set forth in claim 3 wherein the stepof determining at least one amplitude equivalence point comprisesdetermining a high amplitude equivalence point and a low amplitudeequivalence point.
 5. The method for determining head position as setforth in claim 1 comprising the further step of determining during acalibration operation the slope of each said edge by determining radialpositional displacement of the data transducer head as a function ofburst amplitude, and wherein the step of determining the position of thedata transducer head is carried out further in relation to the saidslope.
 6. The method for determining head position as set forth in claim1 wherein the step of providing at least one servo sector within thedata track further comprises the steps of providing a servo sectoraddress mark field including a magnetic flux transition patternprerecorded therein for identifying the start of a servo informationpattern, providing a track number field including a magnetic fluxtransition pattern prerecorded therein for identifying the said one datatrack from among the multiplicity thereof; and, comprising the furthersteps of:reading the servo sector address mark field with the datatransducer head to determine the start of the said servo informationpattern, and reading the track number field to identify the said onedata track from among the multiplicity thereof.
 7. The method fordetermining head position as set forth in claim 6 wherein the steps ofproviding a servo sector address mark field and a track number field arecarried out prior to providing the first and second occurring servoburst means.
 8. The method for determining head position as set forth inclaim 6 wherein the determined head position is added to a valueobtained from the track number field of the said track, thereby toprovide a number indicative of the track number of the said track andthe position of the data transducer head within the said track.
 9. Themethod for determining head position as set forth in claim 8 wherein thetrack number of the said track is initially set to include a positionalvalue indicative of track centerline position, and wherein thedetermined head position is added to or subtracted from the positionalvalue of track centerline position, thereby to provide the position ofthe data transducer head within the track.
 10. The method fordetermining head position set forth in claim 9 wherein the positionalvalue is determined to be a value which is one half of the datatransducer head position quantization resolution within the data track.11. The method for determining head position set forth in claim 10wherein the said quantization resolution within the data track is 32increments, and wherein the positional value is
 16. 12. The method fordetermining head position set forth in claim 6 wherein the step ofreading the track number field at the vicinity of a track boundarybetween two adjacent ones of the said data tracks results in anambiguity as to which data track is in closest proximity to the head,and comprising the further steps of:determining the radial velocity ofthe head relative to the multiplicity of data tracks during a trackseeking operation, comparing determined radial velocity with apredetermined reference velocity value, selecting a track number read bythe data transducer head as an indicator of radial head position whenthe determined radial velocity is greater than the reference velocityvalue, performing the steps of reading the second occurring servo burstand determining from the recorded second burst peak amplitude theabsolute position of the data transducer head, and correcting the tracknumber read by the data transducer head by reference to the recordedsecond burst peak amplitude.
 13. The method for determining headposition set forth in claim 1 wherein a width of the selected one trackis greater than the width of the data transducer head, and furtherwherein the data transducer head experiences a dead zone range of radialmovement with respect to a said burst such that burst amplitude read bythe data transducer head from the said burst remains substantiallyconstant as the data transducer head moves radially through the saiddead zone range.
 14. The method for determining head position set forthin claim 1 wherein the steps of comparing the first burst peak amplitudewith the predetermined reference burst amplitude value and reading thesecond occurring servo burst means are carried out, at least in part,concurrently.
 15. A high performance disk drive having a head positionservo loop for positioning a data transducer head of the drive relativeto a rotating data storage disk of the drive having at least one datastorage surface having recorded thereon a pattern of embedded servosectors, the servo sector pattern being radially wider than theeffective radial head gap width of the data transducer head, the patternincluding for a second concentric data track lying between a first trackand a third track of a multiplicity thereof; a sector servo address markfield including a magnetic flux transition pattern prerecorded thereinfor identifying the start of the servo sector pattern; a track numberfield including a magnetic flux transition pattern prerecorded thereinfor identifying the second data track from among the multiplicitythereof; a first occurring servo burst being prerecorded with apredetermined servo burst magnetic flux transition pattern and havingone longitudinal burst edge located substantially congruent with a trackcenterline of the second track, and having another longitudinal burstedge located substantially congruent with a track centerline of apredetermined one of the first track and the third track, and secondoccurring servo bursts being prerecorded with the predetermined servoburst magnetic flux transition pattern for providing burst edgessubstantially congruent with track boundaries of the second trackrelative to the first track and the third track, the second servo burstsbeing recorded entirely within the boundaries of the first track and thethird track and providing positional information via the head for use bythe servo loop when positional information from the first servo burst isnot available to the head as it passes over the pattern.
 16. The diskdrive set forth in claim 15 wherein the sector patter further comprisesfor a track following servo mode of the servo loop a third occurringservo burst being prerecorded with the predetermined servo burstmagnetic flux transition pattern and located spatially the thirdoccurring servo burst has one longitudinal burst edge locatedsubstantially congruent with the track centerline of the second trackand another longitudinal burst edge located substantially congruent witha track centerline of another of the the first track and the thirdtrack, so that positional information read from the first and thirdservo bursts by the head provide track centerline location informationto the servo loop during the track following servo.
 17. The disk driveset forth in claim 15 wherein the data storage surface of the disk drivehas a plurality of data zones of data tracks in which the data tracksthereof have predetermined data sector lengths and numbers and datatransfer rates so as to render more optimal storage bit density andrelative movement between the head and disk surface, each servo sectorbeing radially aligned throughout the extent of the data zones, and eachservo sector including a servo sync field preceding the servo addressmark field for synchronizing a read channel means of the disk driveincluding the data transducer head to the data rate of servo informationincluded in the servo sector, and each servo sector being followed by adata sync field for resynchronizing the read channel means to the datarate of a particular data zone over which the data transducer head ispassing.
 18. The disk drive set forth in claim 17 including afrequency-programmable frequency synthesizer means operating undercontrol of a programmed microcontroller means for programmablygenerating a plurality of coded frequencies for enabling the pluralityof the data zones to to be read from and written at a data transfer rateselected for each zone.
 19. A method for determining a digital radialhead position value within a disk drive including a rotating storagedisk defining a data storage surface, a data transducer head for readingand writing data from and to concentric data storage tracks on thestorage surface, control electronics associated with the data transducerhead and an actuator for moving the head and wherein each data trackincludes embedded sector servo information including a prerecorded tracknumber and portions of a plurality of types of servo bursts havinglongitudinal burst edges, the method comprising the steps of:readingwith the data transducer head the prerecorded track number from a tracknumber field of a said embedded sector to determine radial head vicinityin relation to a said data track identified by the track number,determining the amplitude of a first type servo burst in the vicinity ofthe said data track identified by the track number, determining whetherthe amplitude indicates that the head is over a said burst edge thereof,and if so, selecting said burst edge by quantizing the amplitude readtherefrom as a digital value, calculating a fine position vernier valuerelative to the said data track based upon the quantized digital valueof selected burst edge amplitude, and adjusting the value of the tracknumber by reference to the fine position vernier value thereby toprovide the digital radial head position value for the said track andsector.
 20. The method set forth in claim 19 wherein each of theplurality of servo bursts has a width greater than the width of arecording gap of the data transducer head, and wherein the datatransducer head is radially positionable within a dead zone with respectto a said servo burst, the servo bursts being arranged so thatlongitudinal edges of the first type of said plurality of bursts arealigned with dead zones of a second type of said plurality of bursts,the method comprising the further steps of:determining whether theamplitude of the first type servo burst indicates that the head is overa dead zone associated with the first type servo burst and thereuponswitching to and determining the amplitude of the second type servoburst having an edge at least coextensive with the dead zone of thefirst type burst, and calculating the fine position vernier valuerelative to the said data track based upon the quantized value of thesecond type servo burst amplitude.
 21. The method set forth in claim 20comprising the further steps of determining the velocity of the datatransducer head as the actuator moves the head over data tracks during atrack seeking mode of operation of the disk drive, selecting theprerecorded track number read by the data transducer head as positionalinformation when said velocity is over a predetermined value, andselecting the quantized value of the second type of servo burstamplitude as the fine position vernier value when it is otherwiseselected and when said velocity is below the predetermined value. 22.The method set forth in claim 19 wherein the embedded sector servoinformation includes a repeating pattern prerecorded upon the datasurface and including for a second concentric data track lying between afirst track and a third track of a multiplicity thereof: a servo sectoraddress mark field including a magnetic flux transition patternprerecorded therein for identifying the start of the servo sectorpattern; a track number field including a magnetic flux transitionpattern prerecorded therein for identifying the second data track fromamong the multiplicity thereof; a first occurring servo burst beingprerecorded with a predetermined servo burst magnetic flux transitionpattern and having one longitudinal burst edge located substantiallycongruent with a track centerline of the second track, and havinganother longitudinal burst edge located substantially congruent with atrack centerline of one of the first rack and the third track, and asecond occurring servo burst being prerecorded with the predeterminedservo burst magnetic flux transition pattern for providing burst edgessubstantially congruent with track boundaries of the second trackrelative to the first track and the third track the second servo burstsbeing recorded entirely outside of the first track and the third track.23. The method set forth in claim 22 comprising the further step ofperforming a recalibration operation to determine a high amplitudeequivalence value and a low amplitude equivalence value for the firstand second servo bursts, and calculating a slope value for the edges ofthe first and second servo bursts.
 24. The method set forth in claim 22wherein the disk drive has a plurality of zones of data tracks in whichthe data tracks thereof have predetermined data sector lengths andnumbers and data transfer rates so as to render more optimal storage bitdensity and relative movement between the head and disk surface, eachservo sector being radially aligned throughout the extent of the datazones, and each servo sector including a servo sync field preceding theservo address mark field for synchronizing a master state machine meansfor controlling a read channel of the disk drive to the data rate ofservo information included in the servo sector, and each servo sectorbeing followed by a data sync field for resynchronizing the read channelto the data rate of a particular data zone over which the datatransducer head is passing.
 25. The method set forth in claim 24 whereinthe disk drive eight zones of data tracks.
 26. The method set forth inclaim 19 comprising the further step of determining during a seekingoperational mode the number of tracks crossed between successive samplesof embedded sectors, and limiting the steps of quantizing burst edgeamplitude and calculating a fine position vernier value to a trackcrossing rate below a predetermined value.
 27. The method set forth inclaim 26 wherein the predetermined value is a track crossing rate offive tracks per servo sample.